package algo3.g203.modelo.armas;

import algo3.g203.modelo.armas.explosiones.ExplosionBehavior;
import algo3.g203.modelo.armas.explosiones.ExplosionPuntual;
import algo3.g203.modelo.fisica.Posicion;
import algo3.g203.modelo.naves.Nave;

public class ArmaConvencional extends Arma{
	
	private final int COSTO_DEL_ARMA = 200;
	
	public ArmaConvencional(Posicion p) {
		super(p);
	}
	
	@Override
	public int getCosto() {
		return this.COSTO_DEL_ARMA;
	}

	/**
	 * Explota siempre que comienza un turno
	 */
	@Override
	public boolean comenzarTurno() {
		for (ObservadorDeArma o : this.listaObservadores)
			o.notificarArmaDebeEstallar(this);
		return true;
	}

	@Override
	public void daniar(Nave n) {
		n.recibirDisparo(this);
	}

	@Override
	protected ExplosionBehavior getExplosionBehavior() {
		return new ExplosionPuntual();
	}

}
